﻿using System.Collections.Generic;

namespace Jv.Games.Engine
{
	public abstract class Level
	{
		#region Attributes
		List<Object> _objects;
		#endregion

		#region Constructors
		protected Level()
		{
			this._objects = new List<Object>();
		}
		#endregion

		#region Abstract Methods
		public abstract void Initialize();
		public abstract void Update();
		public abstract void Finish();
		#endregion

		#region Public Methods
		public void Exit(Level nextLevel)
		{
			CurrentGame.ChangeLevel(nextLevel);
		}
		#endregion

		#region Internal Methods
		internal Game CurrentGame { get; set; }
		#endregion
	}
}
